home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
editors
/
memcs312
/
ue312pl1.zoo
/
estruct.h
< prev
next >
Wrap
C/C++ Source or Header
|
1993-12-02
|
36KB
|
1,131 lines
/* ESTRUCT: Structure and preprocesser defined for
MicroEMACS 3.12
(C)Copyright 1993 by Daniel Lawrence
written by Daniel Lawrence
based on code by Dave G. Conroy,
Steve Wilhite and George Jones
*/
#ifdef LATTICE
#undef LATTICE /* don't use their definitions...use ours */
#endif
#ifdef MSDOS
#undef MSDOS
#endif
#ifdef WINNT
#undef WINNT
#endif
#ifdef AMIGA
#undef AMIGA
#endif
#ifdef EGA
#undef EGA
#endif
#ifdef CTRLZ
#undef CTRLZ
#endif
/* Program Identification.....
PROGNAME should always be MicroEMACS for a distribution
unmodified version. People using MicroEMACS as a shell
for other products should change this to reflect their
product. Macros can query this via the $progname variable
*/
#define PROGNAME "MicroEMACS"
#define VERSION "3.12"
/* Machine/OS definitions */
/* [Set one of these!!] */
#define AMIGA 0 /* AmigaDOS */
#define AOSVS 0 /* Data General AOS/VS */
#define AUX 0 /* Apple UNIX for Macintosh */
#define AVIION 0 /* Data General AViiON */
#define BSD 0 /* UNIX BSD 4.2 and ULTRIX */
#define FINDER 0 /* Macintosh OS */
#define HPUX8 0 /* HPUX HP 9000 ver 8 or less */
#define HPUX9 0 /* HPUX HP 9000 ver 9 */
#define MPE 0 /* HP MPE/XL */
#define MSDOS 0 /* MS-DOS */
#define WINNT 0 /* MS-Win NT */
#define OS2 0 /* Microsoft or IBM OS/2 */
#define SMOS 0 /* Supermax UNIX System V */
#define SUN 0 /* SUN v4.0 */
#define TOS 1 /* ST520, TOS */
#define USG 0 /* UNIX system V */
#define V7 0 /* V7 UNIX or Coherent or BSD4.2*/
#define VMS 0 /* VAX/VMS */
#define WMCS 0 /* Wicat's MCS */
#define XENIX 0 /* IBM-PC SCO XENIX */
/* Compiler definitions */
/* [Set one of these!!] */
#define ALCYON 0 /* ALCYON Atari ST compiler */
#define AZTEC 0 /* Aztec C 3.20e */
#define DGC 0 /* Data General AOS/VS C... */
#define DTL 0 /* DataLight C v3.12 */
#define GCC 0 /* the GNU C compiler */
#define IC 0 /* Rational Systems Instant C */
#define LATTICE 0 /* Lattice 2.14 through 3.0 compilers */
#define MSC 0 /* MicroSoft C compile version 3 thru 7 */
#define MWC 1 /* Mark Williams C */
#define TURBO 0 /* Turbo C and Borland C++ under MSDOS */
#define UNIX 0 /* a standard UNIX compiler (cc) */
#define ZTC 0 /* Zortech C/C++ 1.02 thru 2.10 under MSDOS */
/* Machine stack growth direction. */
/* [Set this to 1 if your machine stack grows UP!!!] */
/* data general mv/eclipse series stack grows up. */
/* dec vax series stack grows down... got it??? */
#define STACK_GROWS_UP 0
/* Rational Systems, Inc DOS/16M dos extender allows MicroEMACS
to run in Protected Mode under MSDOS. It has a few special
requirements. */
#define DOS16M 0
/* Debugging options */
#define RAMSIZE 0 /* dynamic RAM memory usage tracking */
#define RAMSHOW 0 /* auto dynamic RAM reporting */
#define RAMTRCK 0 /* send debug info to MALLOC.DAT */
/* Special keyboard/network definitions */
#define ATKBD 0 /* AT-style keyboard with F11, F12 & grey keys */
#define WANGPC 0 /* WangPC - mostly escape sequences */
#define VT100 0 /* Handle VT100 style keypad - NOT VMS. */
#define KEYPAD 0 /* VMS - turn on and off application */
/* keypad automatically */
#define XONDATA 0 /* VMS - set to force /NOTTSYNC/NOHOSTSY */
#define RMSIO 0 /* VMS - skip the rotten C runtime and */
/* use RMS directly */
#define OPTMEM 0 /* VMS 5.0 and up - use a less standard */
/* but more efficient memory allocator */
/* Terminal Output definitions */
/* [Set one of these!!] */
#define ANSI 0 /* ANSI escape sequences */
#define DASHER 0 /* DG Dasher 2xx/4xx crts */
#define DG10 0 /* Data General system/10 */
#define FMR 0 /* Fujitsu FMR series driver */
#define HP110 0 /* HP110 screen driver */
#define HP150 0 /* HP150 screen driver */
#define I55 0 /* IBM PS55 DOS J4.0/V */
#define IBMPC 0 /* IBM-PC CGA/MONO/EGA/VGA drvr */
#define MAC 0 /* Macintosh */
#define NEC 0 /* NEC-9801VM driver */
#define OS2NPM 0 /* OS/2 non-Presentation Mgr. */
#define SMG 0 /* SMG library on VMS */
#define ST52 1 /* Atari 520/1040ST screen */
#define TERMCAP 0 /* Use TERMCAP */
#define TIPC 0 /* TI Profesional PC driver */
#define VT52 0 /* VT52 terminal (Zenith). */
#define Z309 0 /* Zenith 100 PC family driver */
#define WINNTCON 0 /* Windows NT console */
/* Windowing system style (pick one) */
#define WINDOW_TEXT 1 /* [default] Text mode */
#define WINDOW_XVT 0 /* using XVT/any platform */
#define WINDOW_MSWIN 0 /* MicroSoft Windows */
#define WINDOW_MSWIN32 0 /* MicroSoft Windows 32 bit API */
#define WINDOW_X 0 /* X/Unix */
/* Language text options (pick one) */
#define ENGLISH 1 /* [default] */
#define FRENCH 0
#define SPANISH 0
#define GERMAN 0
#define DUTCH 0
#define PLATIN 0 /* Pig Latin */
#define JAPAN 0
#define LATIN 0 /* real Latin */
/* Configuration options */
#define TYPEAH 1 /* type ahead causes update to be skipped */
#define DEBUGM 1 /* $debug triggers macro debugging */
#define LOGFLG 0 /* send all executed commands to EMACS.LOG */
#define VISMAC 0 /* update display during keyboard macros */
#define CTRLZ 0 /* add a ^Z at end of files under MSDOS only */
#define CLEAN 0 /* de-alloc memory on exit */
#define CALLED 0 /* is emacs a called subroutine? or stand alone */
#define REVSTA 1 /* Status line appears in reverse video */
#define COLOR 1 /* color commands and windows */
#define FILOCK 1 /* file locking under unix BSD 4.2 */
#define ISRCH 1 /* Incremental searches like ITS EMACS */
#define FLABEL 0 /* function key label code [HP150] */
#define CRYPT 1 /* file encryption enabled? */
#define MAGIC 1 /* include regular expression matching? */
#define MOUSE 1 /* Include routines for mouse actions */
#define NOISY 1 /* Use a fancy BELL if it exists */
#define CTAGS 0 /* include vi-like tagging? */
#define SPEECH 0 /* spoken EMACS, for the sight impared [not ready] */
#define VARARG 1 /* use varargs.h for mlwrite() */
/* Character set options */
/* [Set one of these!!] */
#define ASCII 1 /* always using ASCII char sequences for now */
#define EBCDIC 0 /* later IBM mainfraim versions will use EBCDIC */
/* handle constant and voids properly */
#if VMS
#define CONST readonly
#define VOID void
#define NOSHARE noshare
#else
#if AOSVS
#define CONST $shared $align(1) /* fake a const */
#define VOID
#define NOSHARE $low32k $align(1) /* attempt to optimize read/write vars. */
#else
#if __STDC__ || MSC || TURBO || DTL || GCC
#define CONST const
#define VOID void
#define NOSHARE
#else
#define CONST
#define VOID
#define NOSHARE
#endif
#endif
#endif
/* System dependant library redefinitions, structures and includes */
/* multibyte character support? */
#if NEC || FMR || I55
#define DBCS 1 /* double byte character sets enabled */
#define INSDEL 1 /* use insert/delete line display optimizations */
/* define DBCS prefix bytes */
#define is2char(ch) (((ch&0xff) >= 0x81 && (ch&0xff) <= 0x9f) || ((ch&0xff) >=0xe0 && (ch&0xff) <= 0xfc))
#else
#define DBCS 0
#define INSDEL 0
#endif
/* Prototypes in use? */
#if MSC || TURBO || IC || DTL || VMS || GCC || ZTC
#define PROTO 1
#else
#define PROTO 0
#endif
/* the following define allows me to initialize unions...
otherwise we make them structures (like the keybinding table) */
#if __STDC__ || MSC || TURBO || IC || DTL || ZTC
#define ETYPE union
#else
#define ETYPE struct
#endif
/* Instant C can't do stat()s. Arrrg. No file locking for you */
#if IC && MSDOS
#undef FILOCK
#define FILOCK 0
#endif
/* Mark Williams/Atari has no standard or varargs or directory functions */
#if TOS & MWC
#undef VARARG
#define VARARG 0
#undef FILOCK
#define FILOCK 0
#endif
/* MS-Windows */
#if WINNT || WINDOW_MSWIN || WINDOW_MSWIN32
#if WINDOW_MSWIN32
#undef WINDOW_MSWIN
#define WINDOW_MSWIN 1
#endif
#if WINDOW_MSWIN && WIN